package com.lmh.graphdisease.service;

import com.lmh.graphdisease.entity.*;
import org.springframework.stereotype.Service;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * @author lmh
 * @desc
 * @date 2023/3/6
 */

public interface DiseaseService {

    DiseaseEntity getDiseaseEntityByName(String name);

    /**
     *@author lmh
     *@date 2023/3/9
     *@desc 根据name查找疾病并且获取当前疾病的信息的词云map
     */
    Map<String,Integer> getCloudByName(String name);

    /**
     *@author lmh
     *@date 2023/3/9
     *@desc 根据疾病查出所有的检查项目
     */
    List<CheckEntity> getCheckByDisease(String name,int num);

    /**
     *@author lmh
     *@date 2023/3/16
     *@desc 根据疾病查出所有所属科室、药品、食物、症状
     */
    List<DepartmentEntity> getDepartmentByDisease(String name,int num);
    List<DrugEntity> getDrugByDisease(String name, int num);
    Map<String,List<FoodEntity>> getFoodByDisease(String name, int num);
    List<SymptomEntity> getSymptomByDisease(String name,int num);

    /**
     *@author lmh
     *@date 2023/3/14
     *@desc 获得所有疾病实体
     */
    List<DiseaseEntity> getAllDisease();

    /**
     *@author lmh
     *@date 2023/3/14
     *@desc 查询特定数量的疾病
     */
    Map<String, Object> getNumDisease(int page,int size);

    /**
     *@author lmh
     *@date 2023/3/16
     *@desc 获得某个节点的所有关系节点和关系(num相关节点查询数量)
     */
    Map<String,Object> getOneDisease(String name);

    /**
     *@author lmh
     *@date 2023/3/18
     *@desc 辅助诊断功能
     */
    String getRobotAnswer(String askText);

    List<DiseaseEntity> getPageDisease(int page, int size);

    Integer getDiseaseNum();
}
